package com.irdstudio.efp.cus.service.dao;

import java.util.List;

import com.irdstudio.efp.cus.service.domain.CusIndivCreatesProInfo;
import com.irdstudio.efp.cus.service.vo.CusIndivCreatesProInfoVO;

/**
 * DAO Interface: 客户建档结果过程信息表
 * 
 * @author ligm
 * @date 2019-05-20
 */
public interface CusIndivCreatesProInfoDao {

	/**
	 * 新增数据
	 * 
	 * @param inCusIndivCreatesProInfoVo
	 * @return
	 */
	public int insertCusIndivCreatesProInfo(CusIndivCreatesProInfo cusIndivCreatesProInfo);

	/**
	 * 根据主键删除信息
	 * 
	 * @param inCusIndivCreatesProInfoVo
	 * @return
	 */
	public int deleteByPk(CusIndivCreatesProInfo cusIndivCreatesProInfo);

	/**
	 * 根据主键更新信息
	 * 
	 * @param inCusIndivCreatesProInfoVo
	 * @return
	 */
	public int updateByPk(CusIndivCreatesProInfo cusIndivCreatesProInfo);

	/**
	 * 根据主键查询详情
	 * 
	 * @param cusIndivCreatesProInfo
	 * @return
	 */
	public CusIndivCreatesProInfo queryByPk(CusIndivCreatesProInfo cusIndivCreatesProInfo);

	/**
	 * 一级数据权限,默认查看当前用户对应的数据
	 * 
	 * @param cusIndivCreatesProInfo
	 * @return
	 */
	public List<CusIndivCreatesProInfo> queryAllByLevelOneByPage(CusIndivCreatesProInfoVO cusIndivCreatesProInfo);

	/**
	 * 二级数据权限,默认查看当前用户及所属机构对应的数据
	 * 
	 * @param cusIndivCreatesProInfo
	 * @return
	 */
	public List<CusIndivCreatesProInfo> queryAllByLevelTwoByPage(CusIndivCreatesProInfoVO cusIndivCreatesProInfo);

	/**
	 * 三级数据权限,默认查看当前用户所在机构及下属机构对应的数据
	 * 
	 * @param cusIndivCreatesProInfo
	 * @return
	 */
	public List<CusIndivCreatesProInfo> queryAllByLevelThreeByPage(CusIndivCreatesProInfoVO cusIndivCreatesProInfo);

	/**
	 * 四级数据权限,默认预留，便于后续自定义
	 * 
	 * @param cusIndivCreatesProInfo
	 * @return
	 */
	public List<CusIndivCreatesProInfo> queryAllByLevelFourByPage(CusIndivCreatesProInfoVO cusIndivCreatesProInfo);

	/**
	 * 五级数据权限,默认预留，便于后续自定义
	 * 
	 * @param cusIndivCreatesProInfo
	 * @return
	 */
	public List<CusIndivCreatesProInfo> queryAllByLevelFiveByPage(CusIndivCreatesProInfoVO cusIndivCreatesProInfo);

	/**
	 * 
	 * 通过状态查询客户建档结果过程信息 <br>
	 * 0.1:ludayong:2019年5月20日 下午10:15:28:新增 <br>
	 * 
	 * @author ludayong
	 * @since 2019年5月20日 下午10:15:28
	 * @date 2019年5月20日 下午10:15:28
	 * @version 0.1
	 */
	public List<CusIndivCreatesProInfo> queryByState(CusIndivCreatesProInfoVO cusIndivCreatesProInfo);

	/**
	 * 
	 * 通过交易日期查询客户建档结果过程信息 <br>
	 * 0.1:ludayong:2019年5月20日 下午10:15:28:新增 <br>
	 * 
	 * @author ludayong
	 * @since 2019年5月20日 下午10:15:28
	 * @date 2019年5月20日 下午10:15:28
	 * @version 0.1
	 */
	public List<CusIndivCreatesProInfo> queryByTxnDt(CusIndivCreatesProInfoVO cusIndivCreatesProInfo);

}
